#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "DS18B20.h"



float T;//用于接收温度


void main()
{
	DS18B20_ConvertT();		//上电先转换一次温度，防止第一次读数据错误
	Delay(1000);			//等待转换完成
	LCD_Init(); //LCD初始化
	LCD_ShowString(1,1,"Temperature: ");	//显示界面
	
	while(1)
	{
		DS18B20_ConvertT();	//温度转换
		T = DS18B20_ReadT();	//接收温度
		
		//控制符号显示
		if (T < 0)
		{
			LCD_ShowChar(2,1,'-');
			T = -T;	//转换为正数，方便后续处理
		}
		else
		{
			LCD_ShowChar(2,1,'+');
		}
	
		LCD_ShowNum(2,2,T,3);			//强制转换为无符号整形，自动丢失小数位
		LCD_ShowChar(2,5,'.');			//显示小数点
		LCD_ShowNum(2,7,(unsigned long)(T*10000)%10000,4);	//显示小数位的4位（对浮点数不能取余）
	}
}

















